Micron Document
`:top
Die `!Web Audio API`! ist eine in `F33f`_`[JavaScript`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=JavaScript]`_`f verfasste `F33f`_`[API`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmierschnittstelle]`_`f zum Erzeugen und Bearbeiten von `F33f`_`[Audiosignalen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Audiosignal]`_`f in Webapplikationen. Der Standard wird von einer Arbeitsgruppe des `F33f`_`[W3C`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=World_Wide_Web_Consortium]`_`f entwickelt und kommt beispielsweise in `F33f`_`[Browserspielen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Browserspiel]`_`f zum Einsatz. Sie kann als Audio-Analogon zum `F33f`_`[Canvas-Element`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Canvas_(HTML-Element)]`_`f gesehen werden.

>>Contents

• `F0af`_`[Funktionsweise`#funktionsweise]`_`f
• `F0af`_`[Beispiel`#beispiel]`_`f
• `F0af`_`[Browserunterstützung`#browserunterst-tzung]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f

-─

>>Funktionsweise

Audiosignale werden durch einen mittels Programmcode spezifizierten `F33f`_`[Graphen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Graph_(Graphentheorie)]`_`f (AudioContext) geleitet, in dem jeder Knoten (AudioNode) einen Bearbeitungsschritt repräsentiert und mit anderen Knoten verbunden ist. Es gibt einen Ausgabeknoten, der die Daten je nach Art des Kontexts an die Audioausgabe des Systems, also beispielsweise den `F33f`_`[Lautsprecher`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lautsprecher]`_`f weiterleitet oder als Binärdaten speichert. Eingabeknoten können ein Audiosignal durch einen `F33f`_`[Oszillator`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Oszillator]`_`f produzieren oder diese aus anderen Quellen beziehen. Dies können Audiodateien sein, ein angeschlossenes Mikrofon oder `F33f`_`[WebRTC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=WebRTC]`_`f-Verbindungen. Schließlich gibt es Knoten, die Audiosignale bearbeiten. Hier reicht die Palette von einfachen Manipulationen der Lautstärke über die Anwendung verschiedener `F33f`_`[Filter`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Filter_(Elektrotechnik)]`_`f bis hin zur Möglichkeit, den `F33f`_`[Raumklang`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Raumklang]`_`f (einschließlich `F33f`_`[Doppler-Effekt`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Doppler-Effekt]`_`f) für beliebige Positionen und Bewegungen des Zuhörers neu zu berechnen.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f] `F33f`_`[Mehrere Tonkanäle`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Mehrkanal-Tonsystem]`_`f werden dabei automatisch angepasst, sofern Quelle und Ziel unterschiedliche Anordnungen verwenden, sie können aber auch über eigene Knoten bearbeitet werden. Es gibt auch Knoten, die das Audiosignal unverändert lassen, aber zur Analyse eine `F33f`_`[schnelle Fourier-Transformation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Schnelle_Fourier-Transformation]`_`f durchführen.`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] Bei der Verknüpfung der Knoten sind Schleifen zulässig, sofern einer der enthaltenen Knoten die Ausgabe verzögert. Die Knoten besitzen Parameter, die das genaue Verhalten beschreiben und während der Verarbeitung auch geändert werden können.

Die eigentliche Signalverarbeitung findet hauptsächlich in der zugrundeliegenden Implementation der API statt, jedoch ist auch direkte Bearbeitung in JavaScript möglich.`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]

>>Beispiel

Das folgende Beispiel erzeugt einen `F33f`_`[Sinuston`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Sinuston]`_`f.`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f]

`B100`F9d9//AudioContext erzeugen`f`b
`B100`F9d9var audioCtx = new AudioContext();`f`b
`B100`F9d9`f`b
`B100`F9d9//AudioNodes erzeugen`f`b
`B100`F9d9var oscillatorNode = audioCtx.createOscillator();`f`b
`B100`F9d9var gainNode = audioCtx.createGain();`f`b
`B100`F9d9`f`b
`B100`F9d9//AudioNodes verbinden`f`b
`B100`F9d9oscillatorNode.connect(gainNode);`f`b
`B100`F9d9gainNode.connect(audioCtx.destination);`f`b
`B100`F9d9`f`b
`B100`F9d9//AudioNodes konfigurieren`f`b
`B100`F9d9oscillatorNode.type = 'sine';`f`b
`B100`F9d9oscillatorNode.frequency.value = 2500;`f`b
`B100`F9d9gainNode.gain.value = 0.5;`f`b
`B100`F9d9`f`b
`B100`F9d9//Ausgabe starten`f`b
`B100`F9d9oscillatorNode.start();`f`b

Durch eine dynamische Anpassung von `B100`F9d9oscillatorNode.frequency.value`f`b (der Frequenz in `F33f`_`[Hertz`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hertz_(Einheit)]`_`f) und `B100`F9d9gainNode.gain.value`f`b (der relativen Lautstärke) können so einfache Melodien erzeugt werden.

>>Browserunterstützung

Die Web Audio API wird von allen wichtigen aktuellen Browsern unterstützt: `F33f`_`[Mozilla Firefox`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Mozilla_Firefox]`_`f ab Version 25, `F33f`_`[Google Chrome`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Google_Chrome]`_`f ab Version 14 (bis Version 33 nur mit `B100`F9d9webkit`f`b-`F33f`_`[Präfix`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Herstellerpräfix]`_`f), `F33f`_`[Microsoft Edge`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft_Edge]`_`f, `F33f`_`[Opera`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Opera_(Browser)]`_`f ab Version 15 (ab Version 22 ohne Präfix) und `F33f`_`[Safari`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apple_Safari]`_`f ab Version 6 (mit Präfix). Auch die meisten mobilen Browser unterstützen die API.`:cite-ref-5[`F5bf`_`[5`#cite-note-5]`_`f]`:cite-ref-6[`F5bf`_`[6`#cite-note-6]`_`f]

Da sich die Spezifikation aber noch in Entwicklung befindet, variiert der Grad der Unterstützung zwischen den verschiedenen Browsern und zwischen unterschiedlichen Version der Browser. Ebenfalls unterschiedlich ist die `F33f`_`[Performance`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Rechenleistung]`_`f`:cite-ref-7[`F5bf`_`[7`#cite-note-7]`_`f] und die `F33f`_`[Debugging`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Debugger]`_`f-Möglichkeiten.`:cite-ref-8[`F5bf`_`[8`#cite-note-8]`_`f]

Für ältere Browser gibt es `F33f`_`[Polyfills`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Polyfill]`_`f, die über `F33f`_`[Flash`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Adobe_Flash]`_`f oder eine ältere API in Firefox funktionieren.`:cite-ref-9[`F5bf`_`[9`#cite-note-9]`_`f]

>>Einzelnachweise

`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f `*Web audio spatialization basics.`* In: `*`F33f`_`[MDN Web Docs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MDN_Web_Docs]`_`f.`* Abgerufen am 5. September 2016 (englisch).
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f `*Visualizations with Web Audio API.`* In: `*`F33f`_`[MDN Web Docs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MDN_Web_Docs]`_`f.`* Abgerufen am 5. September 2016 (englisch).
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f Chris Rogers: `*Web Audio API.`* `F33f`_`[W3C`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=W3C]`_`f, 15. März 2012, archiviert vom Original am 20. Juli 2012; abgerufen am 4. Juli 2012. `!Info:`! Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/dvcs.w3.org
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f `*Using the Web Audio API.`* In: `*`F33f`_`[MDN Web Docs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MDN_Web_Docs]`_`f.`* Abgerufen am 5. September 2016 (englisch).
`:cite-note-5`!5.`! `F0af`_`[↑`#cite-ref-5]`_`f `*Can I use: Web Audio API.`* Abgerufen am 5. September 2016.
`:cite-note-6`!6.`! `F0af`_`[↑`#cite-ref-6]`_`f `*Unprefixed Web Audio API - Chrome Platform Status.`* Abgerufen am 5. September 2016.
`:cite-note-7`!7.`! `F0af`_`[↑`#cite-ref-7]`_`f Soledad Penadés: `*What’s new in Web Audio?`* In: `*Mozilla Hacks.`* 15. August 2016, abgerufen am 5. September 2016 (englisch).
`:cite-note-8`!8.`! `F0af`_`[↑`#cite-ref-8]`_`f `*Web Audio Editor.`* In: `*`F33f`_`[MDN Web Docs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MDN_Web_Docs]`_`f.`* Abgerufen am 5. September 2016 (englisch).
`:cite-note-9`!9.`! `F0af`_`[↑`#cite-ref-9]`_`f g200kg: `*WAAPISim.`* In: `*`F33f`_`[GitHub`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=GitHub]`_`f.`* Abgerufen am 6. September 2016.

>>Weblinks

• Spezifikation
• Web Audio API auf `F33f`_`[MDN Web Docs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MDN_Web_Docs]`_`f
• Using Web Audio API auf MDN Web Docs
• Basic concepts behind Web Audio API auf MDN Web Docs

`c`F0af`_`[↑ Back to top`#top]`_`f`a